/*
 * @Author: lineCode
 * @Date: 2025-06-18 10:52:17
 * @LastEditors: lineCode
 * @LastEditTime: 2025-07-18 16:16:01
 * @FilePath: /backend/shorthand-modules/shorthand-modules-front/src/main/java/com/angus/modules/front/service/IFrontUserService.java
 */
package com.angus.modules.front.service;

import com.angus.api.front.domain.FrontUser;
import com.angus.modules.front.vo.StatisticsVo;

import java.util.List;
import java.util.Map;

public interface IFrontUserService {

    FrontUser selectUserByUserName(String username);

    boolean checkUserNameUnique(FrontUser frontUser);

    boolean registerUser(FrontUser frontUser);

    boolean updateUserProfile(FrontUser frontUser);

    FrontUser queryUserByPhoneNum(String device);

    FrontUser queryUserByDevice(String device, Integer type);

    FrontUser queryUserById(Long userId);

    List<FrontUser> queryAllUsers(String keyword, Integer status);

    boolean deleteUserByIds(List<Long> ids);

    FrontUser queryUserByEmail(String email);

    StatisticsVo<Map<String, Object>> getUserStatistics();
}
